﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Drawing;

namespace Kinect_Interface_Prototype_1
{
    public class Constants
    {
        private static string CurrentFolder = Directory.GetCurrentDirectory();

        public static string ImagesFolder = @"..\..\Images\";
        //public static string ImagesFolder = CurrentFolder + @"\Images\";
        public static string InterfaceImagesFolder = ImagesFolder + @"Interface_Design_Images\";
        public static string FolderControlImagesFolder = ImagesFolder + @"Folder_Control_Images\";
        public static string MediaPlayerImagesFolder = ImagesFolder + @"Media_Player_Images\";
        public static string MediaPlayerLargeIconsFolder = MediaPlayerImagesFolder + @"Large Icons\";
        public static string MediaPlayerSmallIconsFolder = MediaPlayerImagesFolder + @"Small Icons\";
        public static string ScrollImagesFolder = ImagesFolder + @"Scroll\";
        public static string SystemButtonImagesFolder = ImagesFolder + @"System_Buttons\";
        public static string ManualImages = ImagesFolder + @"Manual_Images\";

        public static string ConfigurationFolder =  @"..\..\Configuration\";
        //public static string ConfigurationFolder = CurrentFolder + @"\Configuration\";
        public static string SettingsINI = ConfigurationFolder + "settingsForm.ini";
        public static string InterfaceINI = ConfigurationFolder + "interfaceConfig.ini";

        public static string WordIconImage = InterfaceImagesFolder + "wordIcon.png";
        public static string PowerPointIconImage = InterfaceImagesFolder + "powerpointIcon.png";
        public static string KeyboardIconImage = InterfaceImagesFolder + "keyboardIcon.png";
        public static string KinectMediaPlayerIconImage = InterfaceImagesFolder + "kmpIcon.png";
        public static string FolderControlIconImage = InterfaceImagesFolder + "folderIcon.png";

        // ScrollBar Images
        public static Image ScrollBarLeft = Image.FromStream(new FileStream(ScrollImagesFolder + "ScrollBarLeft.png", FileMode.Open, FileAccess.Read));
        public static Image ScrollBarRight = Image.FromStream(new FileStream(ScrollImagesFolder + "ScrollBarRight.png", FileMode.Open, FileAccess.Read));
        public static Image ScrollBarCenter = Image.FromStream(new FileStream(ScrollImagesFolder + "ScrollBar.png", FileMode.Open, FileAccess.Read));
        public static Image ArrowUp = Image.FromStream(new FileStream(ScrollImagesFolder + "upArrow.png", FileMode.Open, FileAccess.Read));
        public static Image ArrowDown = Image.FromStream(new FileStream(ScrollImagesFolder + "downArrow.png", FileMode.Open, FileAccess.Read));

        public static Image ScrollBarLeft_Down = Image.FromStream(new FileStream(ScrollImagesFolder + "ScrollBarLeft_down.png", FileMode.Open, FileAccess.Read));
        public static Image ScrollBarRight_Down = Image.FromStream(new FileStream(ScrollImagesFolder + "ScrollBarRight_down.png", FileMode.Open, FileAccess.Read));
        public static Image ScrollBarCenter_Down = Image.FromStream(new FileStream(ScrollImagesFolder + "ScrollBar_down.png", FileMode.Open, FileAccess.Read));
        public static Image ArrowUp_Down = Image.FromStream(new FileStream(ScrollImagesFolder + "upArrow_down.png", FileMode.Open, FileAccess.Read));
        public static Image ArrowDown_Down = Image.FromStream(new FileStream(ScrollImagesFolder + "downArrow_down.png", FileMode.Open, FileAccess.Read));

        public static Image ScrollBarLeft_Hover = Image.FromStream(new FileStream(ScrollImagesFolder + "ScrollBarLeft_hover.png", FileMode.Open, FileAccess.Read));
        public static Image ScrollBarRight_Hover = Image.FromStream(new FileStream(ScrollImagesFolder + "ScrollBarRight_hover.png", FileMode.Open, FileAccess.Read));
        public static Image ScrollBarCenter_Hover = Image.FromStream(new FileStream(ScrollImagesFolder + "ScrollBar_hover.png", FileMode.Open, FileAccess.Read));
        public static Image ArrowUp_Hover = Image.FromStream(new FileStream(ScrollImagesFolder + "upArrow_hover.png", FileMode.Open, FileAccess.Read));
        public static Image ArrowDown_Hover = Image.FromStream(new FileStream(ScrollImagesFolder + "downArrow_hover.png", FileMode.Open, FileAccess.Read));

        // On/Off Switch Images
        public static Image OnSwitch = Image.FromStream(new FileStream(InterfaceImagesFolder + "on.png", FileMode.Open, FileAccess.Read));
        public static Image OffSwitch = Image.FromStream(new FileStream(InterfaceImagesFolder + "off.png", FileMode.Open, FileAccess.Read));
        public static Image DeactivatedSwitch = Image.FromStream(new FileStream(InterfaceImagesFolder + "deactivated.png", FileMode.Open, FileAccess.Read));

        // On/Off Indicator Images
        public static Image OnIndicator = Image.FromStream(new FileStream(InterfaceImagesFolder + "SkeletalTrackingOn.png", FileMode.Open, FileAccess.Read));
        public static Image OffIndicator = Image.FromStream(new FileStream(InterfaceImagesFolder + "SkeletalTrackingOff.png", FileMode.Open, FileAccess.Read));
        
        // Large CheckBoxes
        public static Image CheckBoxClicked = Image.FromStream(new FileStream(InterfaceImagesFolder + "checkbox_checked.png", FileMode.Open, FileAccess.Read));
        public static Image CheckBoxDown = Image.FromStream(new FileStream(InterfaceImagesFolder + "checkbox_down.png", FileMode.Open, FileAccess.Read));
        public static Image CheckBoxNotClicked = Image.FromStream(new FileStream(InterfaceImagesFolder + "checkbox.png", FileMode.Open, FileAccess.Read));
    }

    public enum ScrollType
    {
        Up,
        Down
    }
}
